package com.intelligent.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.intelligent.pojo.ProcessManagement;
import org.apache.ibatis.annotations.Param;

/**
* @author lenovo
* @description 针对表【process_management(工艺管理表)】的数据库操作Mapper
* @createDate 2025-09-01 17:28:54
* @Entity com.intelligent.pojo.ProcessManagement
*/
public interface ProcessManagementMapper extends BaseMapper<ProcessManagement> {

    /**
     * 分页查询工艺管理信息（包含关联数据）
     * @param page 分页参数
     * @param processCode 工艺编号
     * @param processName 工艺名称
     * @param productCode 产品编号
     * @param productName 产品名称
     * @param status 状态
     * @return 分页结果
     */
    IPage<ProcessManagement> selectProcessManagementPage(Page<ProcessManagement> page,
                                                        @Param("processCode") String processCode,
                                                        @Param("processName") String processName,
                                                        @Param("productCode") String productCode,
                                                        @Param("productName") String productName,
                                                        @Param("status") Integer status);

    /**
     * 插入工艺管理信息
     * @param processManagement 工艺管理信息
     * @return 影响行数
     */
    int insertProcessManagement(ProcessManagement processManagement);

    /**
     * 获取最大工艺编号
     * @return 最大工艺编号
     */
    String getMaxProcessCode();

    /**
     * 更新工艺管理信息
     * @param processManagement 工艺管理信息
     * @return 影响行数
     */
    int updateProcessManagement(ProcessManagement processManagement);

    /**
     * 删除工艺管理信息
     * @param id 记录ID
     * @return 影响行数
     */
    int deleteProcessManagement(@Param("id") Long id);

    /**
     * 根据ID查询工艺管理信息（包含关联数据）
     * @param id 记录ID
     * @return 工艺管理信息
     */
    ProcessManagement selectProcessManagementById(@Param("id") Long id);
}




